function step = step_function(N, pos)
    % N: 序列的正半轴长度（负半轴对称）
    % pos: 阶跃序列开始为 1 的位置（从 -N 到 N 的索引）
    % 构建长度为 2N+1 的向量，初始化为 0
    step = zeros(1, 2*N+1);
    % 从 pos 位置开始，后面的值全为 1
    step(N + pos + 1:end) = 1; % MATLAB 索引从 1 开始，因此需要 N + pos + 1 偏移
end
% 设置参数
N = 4;       % 正半轴和负半轴的长度 (总长度为 2N+1)
pos = 0;     % 阶跃序列开始的索引位置，通常是 0
% 调用 step_function 函数生成单位阶跃序列
unit_step = step_function(N, pos);
% 绘制单位阶跃序列
n = -N:N; % x 轴对应的索引，从 -N 到 N
stem(n, unit_step, 'LineWidth', 2);
title('Unit Step Sequence Including Negative Indices');
xlabel('n');
ylabel('Amplitude');
grid on;
